package com.code.wflow.node;

import com.code.wflow.bo.AssignedRoleBO;
import com.code.wflow.bo.AssignedUserBO;
import com.code.wflow.node.prop.*;
import lombok.Data;

import java.util.List;

/**
 * @author ggh
 * @date 2022/11/10
 */
@Data
public class ApprovalNodeProperties implements SupportSelfSelectNodeProperties {

    private String assignedType;

    private List<? extends AssignedUserBO> assignedUser;

    private String mode;

    private Boolean sign;

    private Leader leader;
    private LeaderTop leaderTop;
    private Refuse refuse;
    private SelfSelect selfSelect;
    private TimeLimit timeLimit;
    private List<AssignedRoleBO> role;

    @Override
    public String assignedType() {
        return assignedType;
    }

    @Override
    public List<? extends AssignedUserBO> assignedUser() {
        return this.getAssignedUser();
    }

    @Override
    public void setAssignUser(List<? extends AssignedUserBO> assignedUserList) {
        this.assignedUser = assignedUserList;
    }
}
